/* Zatok - язык программирования текстовых игр
 * (С) 2010 - 2012 Меркулов Матвей Юрьевич
 * Код лицензирован под лицензией GNU LGPL
 * Вы можете прочитать текст лицензии по адресу:
 * http://www.gnu.org/copyleft/lesser.html
 * или прочитать русский перевод по адресу:
 * http://ru.wikisource.org/wiki/GNU_Lesser_General_Public_License
 */

package base.context;

import base.CObject;
import base.CProject;
import base.value.CObjectValue;
import base.value.CValue;
import base.value.CValue.CType;
import base.value.userobject.CUserObject;

public class CThis extends CValue {
	@Override
	public CType GetType() {
		return CType.UserObject;
	}



	@Override
	public CUserObject ToObject() {
		if( CProject.CurrentObject == null ) Error( "Объект \"Сам\" вне контекста объекта" );
		return CProject.CurrentObject;
	}



	@Override
	public void EquateTo( CObject Obj ) {
	}
	
	
	
	@Override
	public CValue Clone() {
		return new CObjectValue( CProject.CurrentObject );
	}
}
